# Flask操作MySQL
# pip install flask_sqlalchemy
# pip install mysqlclient

from flask import Flask
from flask_sqlalchemy import SQLAlchemy



app = Flask(__name__)

# Mysql配置文件
class Config:
    '''配置参数'''
    SQLALCHEMY_DATABASE_URI = "mysql://root:root@127.0.0.1:3306/flask_db"
    SQLALCHEMY_ECHO = True # 是否在控制台打印 SQL 查询语句（调试用），默认 False。

# 将数据库配置匹配到Flask
app.config.from_object(Config)

# 创建数据库连接对象
db = SQLAlchemy(app)

# 部门表类
class Dept(db.Model):
    '''部门表'''
    __tablename__ = "dept"
    id = db.Column(db.Integer,primary_key = True) # 设置主键
    name = db.Column(db.String(32),unique=True) # 设置部门名称唯一

# 员工表类
class Employee(db.Model):
    '''员工表'''
    __tablename__ = "emp"
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(50),unique=True)
    password = db.Column(db.String(255))
    # 设置外键
    dept_id = db.Column(db.Integer,db.ForeignKey("dept.id"))

if __name__ == '__main__':
    with app.app_context(): # 应用上下文
        # 清空所有的表
        db.drop_all() # 只对flask 中的表对象起作用，
        # 创建所有的表
        db.create_all()








if __name__ == '__main__':
    app.run()